package site.yunnong.atvris.service;

import site.yunnong.atvris.common.api.Page;
import site.yunnong.atvris.common.dto.VideoQueryParam;
import site.yunnong.atvris.dao.domain.Video;
import site.yunnong.atvris.dao.domain.VideoExample;

import java.util.List;

/**
 * 
 *
 * @author zhangjinghao
 * @email jhzhang9102@163.com
 * @date 2021-07-09 23:45:37
 */
public interface VideoService  {

    /**
     * 根据id查询
     * @param uvid
     * @return
     */
    Video queryApprovedVideoByUvid(Long uvid);

    /**
     * 保存视频
     */
    int insert(Video video);

    /**
     * 更新视频信息
     */
    int update(Video newVideo, VideoExample example);

    /**
     * 暂时用来推荐，随机个数的视频
     * @param pageSize
     * @param pid
     * @return
     */
    List<Video> selectRandomVideoList(Integer pageSize, Long pid);

    /**
     * 查找所有
     */
    List<Video> queryAll();

    /**
     * 
     * @param param
     * @return
     */
    Page queryUserVideoPage(VideoQueryParam param);

//    /**
//     * 使用id查找视频
//     */
//    CmsVideo get(Long id);
//
//    int delete(Long id);
//
//    /**
//     * 获取用户自己的视频
//     * @param pageNum 第几页
//     * @param pageSize 页大小
//     * @param status -1:未通过审核，0：审核中，1：通过审核
//     * @param order 0->按投稿时间排序（默认），1->按播放量排序，2->按点赞量排序，3->按评论数排序，4->按收藏数排序
//     * @param partitionId 分区id
//     * @return List<SelfVideoCardResult>
//     */
//    List<SelfVideoCardResult> list(Integer pageNum, Integer pageSize, Integer status, Integer order, Long partitionId);
//
//    /**
//     * 获取用户自己的视频总量
//     * @param status -1:未通过审核，0：审核中，1：通过审核
//     * @param partitionId 分区id
//     * @return Long
//     */
//    Long count(Integer status, Long partitionId);
//
//    int update(VideoPostParam upload);
//
//    List<CmsVideo> headRecommendVideoList(Integer pageNum, Integer pageSize);
//
//    List<CmsVideo> recommendPartitionVideoList(Long partitionId, Integer pageNum, Integer pageSize);
//
//    List<CmsVideo> partitionVideoRankList(Long partitionId, Integer pageNum, Integer pageSize);

}

